package com.xie.leetcode.math;

//367. 有效的完全平方数
//        给定一个 正整数 num ，编写一个函数，如果 num 是一个完全平方数，则返回 true ，否则返回 false 。
//
//        进阶：不要 使用任何内置的库函数，如  sqrt 。
//
//
//
//        示例 1：
//
//        输入：num = 16
//        输出：true
//        示例 2：
//
//        输入：num = 14
//        输出：false
//
//
//        提示：
//
//        1 <= num <= 2^31 - 1

/**
 * @author xiezhendong
 * @date 2021/11/4
 */
public class IsPerfectSquare {

    public static void main(String[] args) {
        IsPerfectSquare isPerfectSquare = new IsPerfectSquare();
        System.out.println(isPerfectSquare.isPerfectSquare(16));
        System.out.println(isPerfectSquare.isPerfectSquare(14));
    }

    public boolean isPerfectSquare(int num) {
        long x = 1, square = 1;
        while (square <= num) {
            if (square == num) {
                return true;
            }
            ++x;
            square = x * x;
        }
        return false;
    }
}
